typedef struct genericList
{
    void* data;
    struct genericList* sgt;
}gl;

void addToList(gl *list, void *data);
void deleteOfList(gl *list, void *data);
void deleteOfListByPosition(gl *list, int pos);
void* memoryReserve(void *dato);
void deleteList(gl *list, gl *listToDelete);
int buscar(gl *ptrActual,void *data);
int longitud(gl  *ptrActual) ;
void insertarOrdenado(gl *list,void *data);

int	AgregarAColaDePedidosADisco(struct ListaIDdescriptors ** pnodo, struct ListaIDdescriptors ** ListaDeIDPedidos, struct ListaIDdescriptors ** ListaDeIDPedidos_Ult );
int AgregarACola_Put(struct Pedido_PutSectores ** pnodo);
int agregarAListaDeDiscos(struct DiscoConocido ** pnodo);
int SacarPedidoDeLista(struct Pedido_PutSectores ** nodo) ;
int SacarNodoDescriptoresDeLista(struct ListaIDdescriptors ** nodo, struct ListaIDdescriptors ** ListaDeIDPedidos, struct ListaIDdescriptors ** ListaDeIDPedidos_Ult);
struct DiscoConocido * BuscarDiscoPorNombre(char * sNombreDiscoABuscar)	;
struct DiscoConocido * BuscarDiscoPorSocketParaDA(int iSocket);
struct Pedido_PutSectores * BuscarDescriptorYDevolverNodoDePedidoPut(char * sIDdescriptor_dePedido)	;
struct ListaIDdescriptors * BuscarDescriptorEnListaDeDisco(struct ListaIDdescriptors * ListaDeIDPedidos, char * sDescriptorIDABuscar, int Opcion);
struct DiscoConocido * BuscarDiscoListo();
int	CambiaPosicionDelNodo(struct DiscoConocido ** pnodoDisco);
int	SacarDeLista_DA(struct DiscoConocido ** nodo);

